// ----------------------------------
// RSDK Project: Sonic 1/Sonic 2
// Script Description: ST Screen Object
// Script Author: Christian Whitehead/Simon Thomley
// Unpacked by Rubberduckycooly's script unpacker
// ----------------------------------

// Aliases
public value popup.shown = 0;
public value title.state = 0

private alias 2 : TYPE_STSCREEN


event ObjectMain
	if engine.deviceType == 1
		ResetObjectEntity(object.entityPos, TypeName[Error], 0, object.xpos, object.ypos)
		object.state = -1
	end if
	switch object.state
	case 0
		CheckEqual(SaveRAM[500], 31)
		temp0 = checkResult
		CheckEqual(SaveRAM[501], 31)
		temp0 &= checkResult
		CheckEqual(SaveRAM[502], 31)
		temp0 &= checkResult
		CheckEqual(SaveRAM[408], 0)
		temp0 &= checkResult
		if temp0 == 1
			ResetObjectEntity(object.entityPos, TypeName[Unlock Popup], 0, object.xpos, object.ypos)
			stage[0].activeLayer = 1
			object.value0 = 320
			object.state++
			SetScreenFade(0, 0, 0, 255)
		else
			if SaveRAM[409] == 1
				title.state = 1
				ResetObjectEntity(object.entityPos, TypeName[Essence Logo], 0, object.xpos, object.ypos)
				object.state = 4
				SetScreenFade(0, 0, 0, 255)
				foreach (TypeName[ReDream Logo], arrayPos0, ALL_ENTITIES)
					SetMusicTrack("TITLE_SHORT.ogg", 0, 0)
					PlayMusic(0)
				next
				foreach (TypeName[Start], arrayPos0, ALL_ENTITIES)
					object[arrayPos0].state = 1
					object[arrayPos0].lookPosY = 700
					foreach (TypeName[Main Menu], arrayPos1, ALL_ENTITIES)
						object[arrayPos1].state = 2
						object[arrayPos1].value0 = -160
						object[arrayPos1].value6 += 160
					next
					foreach (TypeName[Ground], arrayPos2, ALL_ENTITIES)
						tileLayer[2].scrollPos = 9223000
						object[arrayPos2].state = 1
						object[arrayPos2].iypos = 208
					next
					foreach (TypeName[Title Player], arrayPos3, ALL_ENTITIES)
						object[arrayPos3].iypos = 156
					next
					foreach (TypeName[Essence Logo], arrayPos4, ALL_ENTITIES)
						object[arrayPos4].value11 = screen.xsize
					next
				next
			else
				stage[0].activeLayer = 1
				object.value0 = 320
				object.state++
				foreach (TypeName[ReDream Logo], arrayPos0, ALL_ENTITIES)
					object[arrayPos0].state = 1
					PlayMusic(9)
				next
				SetScreenFade(0, 0, 0, 255)
			end if
		end if
		break
	case 1
		object.value1++
		if object.value1 == 120 //timer
			object.value1 = 0
			object.state++
		end if
		break
		
	case 2
		if object.value0 > 0
			object.value0 -= 8
		else
			object.state++
		end if
		break
	case 3
		if object.value0 < 320
			object.value0 += 12
		else
			foreach (TypeName[ReDream Logo], arrayPos0, ALL_ENTITIES)
				//object[arrayPos0].state = 10
			next
			ResetObjectEntity(object.entityPos, TypeName[Essence Logo], 0, object.xpos, object.ypos)
		end if
		//SetScreenFade(38, 38, 252, object.value0)
		break
	end switch
	temp0 = screen.xcenter
	FlipSign(temp0)
	temp0 += 256
	screen.xoffset = temp0
end event

event ObjectDraw
	if object.state < 3
		DrawRect(0, 0, screen.xsize, screen.ysize, 0, 0, 0, object.value0)
	endif
end event
event ObjectStartUp

	tileLayer[2].scrollPos = -5500000
	
	SetMusicTrack("Global/ReDreamStart.ogg", 9, 0)
end event
event RSDKDraw
	DrawSprite(0)
end event

event RSDKLoad
	LoadSpriteSheet("Global/Display.gif")
	SpriteFrame(-16, -16, 32, 32, 1, 143)
end event
